home *** CD-ROM | disk | FTP | other *** search
- /* */
- /* 'EdDI' binding */
- /* */
-
- /*
- Patched for Lattice C 5.52 [2/10/94] by Craig Graham.
- */
-
- #include <vdi.h>
- #include <portab.h>
- #include <osbind.h>
- #include "eddilib.h"
-
- /* Funktionsprototypen */
- void v_opnbm( short *work_in, MFDB *bitmap, short *handle, short *work_out );
- void v_clsbm( short handle );
-
- extern short _VDIcontrl[12],
- _VDIintin[128],
- _VDIintout[128],
- _VDIptsin[128],
- _VDIptsout[128];
-
- /* OPEN BITMAP (VDI 100, 1) */
- void v_opnbm( short *work_in, MFDB *bitmap, short *handle, short *work_out )
- {
- _VDIpb[1] = work_in;
- _VDIpb[3] = work_out;
- _VDIpb[4] = work_out + 45;
-
- _VDIcontrl[0] = 100;
- _VDIcontrl[1] = 0;
- _VDIcontrl[3] = 20;
- _VDIcontrl[5] = 1;
- *((ULONG *)(&_VDIcontrl[7])) = (ULONG) bitmap;
-
- cg_vdi((ULONG)_VDIpb);
-
- *handle = _VDIcontrl[6];
- _VDIpb[1] = _VDIintin;
- _VDIpb[3] = _VDIintout;
- _VDIpb[4] = _VDIptsout;
- }
-
- /* CLOSE BITMAP (VDI 101, 1) */
- void v_clsbm( short handle )
- {
- _VDIcontrl[0] = 101;
- _VDIcontrl[1] = 0;
- _VDIcontrl[3] = 0;
- _VDIcontrl[5] = 1;
- _VDIcontrl[6] = handle;
- cg_vdi((ULONG)_VDIpb);
- }
-
- /* Open an Off-Screen-Bitmap (simple interface to v_opnbm()) */
- short open_bitmap( short x, short y, MFDB *bitmap, short *work_out )
- {
- short count,
- dummy,
- work_in[20];
- short handle;
-
- handle = graf_handle( &dummy, &dummy, &dummy, &dummy );
-
- for ( count = 1; count < 10; count++ )
- work_in[count] = 1;
-
- work_in[0] = Getrez()+2;
- work_in[10] = 2; /* Rasterkoordinaten */
- work_in[11] = x; /* Breite - 1 */
- work_in[12] = y; /* Höhe - 1 */
- work_in[13] = work_in[14] = 0; /* Pixelbreite und -Höhe des Bildschirms übernehmen */
-
- for ( count = 15; count < 20; count++ )
- work_in[count] = 0; /* reserviert */
-
- v_opnbm( work_in, bitmap, &handle, work_out );
-
- return( handle );
- }
-